From 6201f57e725dd6fdca5a229bdcbb68cc7f63aa0d Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 6 Jul 2020 09:18:22 +0100 Subject: [PATCH] Cherry-pick some patches to fix the build --- ...-due-to-missing-VK_RESULT_RANGE_SIZE.patch | 29 ++++++++++++ debian/patches/series | 2 + .../vulkan-Update-error-codes-enum.patch | 45 +++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 debian/patches/Fix-build-issue-due-to-missing-VK_RESULT_RANGE_SIZE.patch create mode 100644 debian/patches/series create mode 100644 debian/patches/vulkan-Update-error-codes-enum.patch diff --git a/debian/patches/Fix-build-issue-due-to-missing-VK_RESULT_RANGE_SIZE.patch b/debian/patches/Fix-build-issue-due-to-missing-VK_RESULT_RANGE_SIZE.patch new file mode 100644 index 0000000000..cccb5df72a --- /dev/null +++ b/debian/patches/Fix-build-issue-due-to-missing-VK_RESULT_RANGE_SIZE.patch @@ -0,0 +1,29 @@ +From: Adrian Perez de Castro +Date: Mon, 11 May 2020 10:07:41 +0300 +Subject: Fix build issue due to missing VK_RESULT_RANGE_SIZE + +Conditionally check whether the Vulkan headers version defines +VK_RESULT_RANGE_SIZE, and avoid using it for version >=140. The +following comming in Vulkan-Headers has removed the enum value: + + https://github.com/KhronosGroup/Vulkan-Headers/commit/0c5351f5e9114d3e9033aeae51d036a3d201c082#diff-4febd94c0666d59030d8b1dd20c72403 + +(cherry picked from commit 5c4ca1424d7d90a92f15579fe9d14fbb9952d7d7) +--- + gdk/gdkvulkancontext.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gdk/gdkvulkancontext.c b/gdk/gdkvulkancontext.c +index 7112e67..be249fc 100644 +--- a/gdk/gdkvulkancontext.c ++++ b/gdk/gdkvulkancontext.c +@@ -223,7 +223,9 @@ gdk_vulkan_strerror (VkResult result) + case VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT: + return "A requested pipeline creation would have required compilation, but the application requested compilation to not be performed."; + #endif ++#if VK_HEADER_VERSION < 140 + case VK_RESULT_RANGE_SIZE: ++#endif + case VK_RESULT_MAX_ENUM: + default: + return "Unknown Vulkan error."; diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000000..5c8c65d56b --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +vulkan-Update-error-codes-enum.patch +Fix-build-issue-due-to-missing-VK_RESULT_RANGE_SIZE.patch diff --git a/debian/patches/vulkan-Update-error-codes-enum.patch b/debian/patches/vulkan-Update-error-codes-enum.patch new file mode 100644 index 0000000000..1b049d0c4a --- /dev/null +++ b/debian/patches/vulkan-Update-error-codes-enum.patch @@ -0,0 +1,45 @@ +From: Matthias Clasen +Date: Sun, 26 Apr 2020 13:40:23 -0400 +Subject: vulkan: Update error codes enum + +Do the silly update exercise. + +(cherry picked from commit 7ca8efa0f5441643f807b71f77873c025025c10c) +--- + gdk/gdkvulkancontext.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/gdk/gdkvulkancontext.c b/gdk/gdkvulkancontext.c +index 76f120b..7112e67 100644 +--- a/gdk/gdkvulkancontext.c ++++ b/gdk/gdkvulkancontext.c +@@ -97,7 +97,7 @@ gdk_vulkan_strerror (VkResult result) + { + /* If your compiler brought you here with a warning about missing + * enumeration values, you're running a newer Vulkan version than +- * the GTK developers )or you are a GTK developer) and have ++ * the GTK developers (or you are a GTK developer) and have + * encountered a newly added Vulkan error message. + * You want to add it to this enum now. + * +@@ -208,6 +208,20 @@ gdk_vulkan_strerror (VkResult result) + #if VK_HEADER_VERSION >= 131 + case VK_ERROR_UNKNOWN: + return "An unknown error has occurred; either the application has provided invalid input, or an implementation failure has occurred."; ++#endif ++#if VK_HEADER_VERSION >= 135 ++ case VK_ERROR_INCOMPATIBLE_VERSION_KHR: ++ return "Acceleration structure serialized with version as the version information is not compatible with device."; ++ case VK_THREAD_IDLE_KHR: ++ return "A deferred operation is not complete but there is currently no work for this thread to do at the time of this call."; ++ case VK_THREAD_DONE_KHR: ++ return "A deferred operation is not complete but there is no work remaining to assign to additional threads."; ++ case VK_OPERATION_DEFERRED_KHR: ++ return "A deferred operation was requested and at least some of the work was deferred."; ++ case VK_OPERATION_NOT_DEFERRED_KHR: ++ return "A deferred operation was requested and no operations were deferred."; ++ case VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT: ++ return "A requested pipeline creation would have required compilation, but the application requested compilation to not be performed."; + #endif + case VK_RESULT_RANGE_SIZE: + case VK_RESULT_MAX_ENUM: -- 2.30.2